#ifndef __ISANAGRAM_H__
#define __ISANAGRAM_H__

#include <string>
using namespace std;

/*
* leetcode 242 有效的字母异位词
*/

/*
* 给定两个字符串 s 和 t, 编写一个函数来判断 t 是否是 s 的字母异位词
* 若 s 和 t 中每个字符出现的次数都相同, 则称 s 和 t 互为字母异位词
* 
* 注意: 字符串中的字母都是小写字母
*/
bool IsAnagram(const string& s, const string& t) {
	if (s.size() != t.size())
		return false;

	int sChar[26] = { 0 };
	int tChar[26] = { 0 };

	//将元素放入哈希表
	for (int i = 0; i < s.size(); i++) {
		sChar[s[i] - 'a'] ++;
		tChar[t[i] - 'a']++;
	}

	//比较两哈希表
	for (int i = 0; i < 26; i++)
		if (sChar[i] != tChar[i])
			return false;

	return true;
}

#endif // !__ISANAGRAM_H__

